return FALSE;
}
+void
+_gtk_entry_grab_focus (GtkEntry *entry,
+ gboolean select_all)
+{
+ GTK_WIDGET_CLASS (gtk_entry_parent_class)->grab_focus (GTK_WIDGET (entry));
+ if (select_all)
+ gtk_editable_select_region (GTK_EDITABLE (entry), 0, -1);
+}
+
static void
gtk_entry_grab_focus (GtkWidget *widget)
{
GtkEntryPrivate *priv = entry->priv;
gboolean select_on_focus;
- GTK_WIDGET_CLASS (gtk_entry_parent_class)->grab_focus (widget);
-
if (priv->editable && !priv->in_click)
{
g_object_get (gtk_widget_get_settings (widget),
&select_on_focus,
NULL);
- if (select_on_focus)
- gtk_editable_select_region (GTK_EDITABLE (widget), 0, -1);
+ _gtk_entry_grab_focus (entry, select_on_focus);
+ }
+ else
+ {
+ _gtk_entry_grab_focus (entry, FALSE);
}
}
GtkIMContext* _gtk_entry_get_im_context (GtkEntry *entry);
void _gtk_entry_set_is_cell_renderer (GtkEntry *entry,
gboolean is_cell_renderer);
-
+void _gtk_entry_grab_focus (GtkEntry *entry,
+ gboolean select_all);
G_END_DECLS